home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 August: Tool Chest / Dev.CD Aug 95 TC / Dev.CD Aug 95 TC.toast / Tool Chest / Interfaces / UniversalInterfaces 2.0 / PInterfaces / MediaHandlers.p < prev    next >
Encoding:
Text File  |  1995-04-18  |  9.0 KB  |  291 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        MediaHandlers.p
  3.  
  4.      Contains:    QuickTime Interfaces.
  5.  
  6.      Version:    Technology:    QuickTime 2.0
  7.                  Package:    Universal Interfaces 2.0 in “MPW Latest” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. }
  19.  
  20. {$IFC UNDEFINED UsingIncludes}
  21. {$SETC UsingIncludes := 0}
  22. {$ENDC}
  23.  
  24. {$IFC NOT UsingIncludes}
  25.  UNIT MediaHandlers;
  26.  INTERFACE
  27. {$ENDC}
  28.  
  29. {$IFC UNDEFINED __MEDIAHANDLERS__}
  30. {$SETC __MEDIAHANDLERS__ := 1}
  31.  
  32. {$I+}
  33. {$SETC MediaHandlersIncludes := UsingIncludes}
  34. {$SETC UsingIncludes := 1}
  35.  
  36.  
  37. {$IFC UNDEFINED __MEMORY__}
  38. {$I Memory.p}
  39. {$ENDC}
  40. {    Types.p                                                        }
  41. {        ConditionalMacros.p                                        }
  42. {    MixedMode.p                                                    }
  43.  
  44. {$IFC UNDEFINED __IMAGECOMPRESSION__}
  45. {$I ImageCompression.p}
  46. {$ENDC}
  47. {    Quickdraw.p                                                    }
  48. {        QuickdrawText.p                                            }
  49. {    QDOffscreen.p                                                }
  50. {        Errors.p                                                }
  51. {    Components.p                                                }
  52. {    Windows.p                                                    }
  53. {        Events.p                                                }
  54. {            OSUtils.p                                            }
  55. {        Controls.p                                                }
  56. {            Menus.p                                                }
  57. {    StandardFile.p                                                }
  58. {        Dialogs.p                                                }
  59. {            TextEdit.p                                            }
  60. {        Files.p                                                    }
  61.  
  62. {$IFC UNDEFINED __MOVIES__}
  63. {$I Movies.p}
  64. {$ENDC}
  65. {    Aliases.p                                                    }
  66. {        AppleTalk.p                                                }
  67.  
  68. {$PUSH}
  69. {$ALIGN MAC68K}
  70. {$LibExport+}
  71.  
  72. CONST
  73.     handlerHasSpatial            = 1 * (2**(0));
  74.     handlerCanClip                = 1 * (2**(1));
  75.     handlerCanMatte                = 1 * (2**(2));
  76.     handlerCanTransferMode        = 1 * (2**(3));
  77.     handlerNeedsBuffer            = 1 * (2**(4));
  78.     handlerNoIdle                = 1 * (2**(5));
  79.     handlerNoScheduler            = 1 * (2**(6));
  80.     handlerWantsTime            = 1 * (2**(7));
  81.     handlerCGrafPortOnly        = 1 * (2**(8));
  82.  
  83. { media task flags }
  84.     mMustDraw                    = 1 * (2**(3));
  85.     mAtEnd                        = 1 * (2**(4));
  86.     mPreflightDraw                = 1 * (2**(5));
  87.     mSyncDrawing                = 1 * (2**(6));
  88.  
  89. { media task result flags }
  90.     mDidDraw                    = 1 * (2**(0));
  91.     mNeedsToDraw                = 1 * (2**(2));
  92.     mDrawAgain                    = 1 * (2**(3));
  93.     mPartialDraw                = 1 * (2**(4));
  94.  
  95.     forceUpdateRedraw            = 1 * (2**(0));
  96.     forceUpdateNewBuffer        = 1 * (2**(1));
  97.  
  98.  
  99. TYPE
  100.     GetMovieCompleteParams = RECORD
  101.         version:                INTEGER;
  102.         theMovie:                Movie;
  103.         theTrack:                Track;
  104.         theMedia:                Media;
  105.         movieScale:                TimeScale;
  106.         mediaScale:                TimeScale;
  107.         movieDuration:            TimeValue;
  108.         trackDuration:            TimeValue;
  109.         mediaDuration:            TimeValue;
  110.         effectiveRate:            Fixed;
  111.         timeBase:                TimeBase;
  112.         volume:                    INTEGER;
  113.         width:                    Fixed;
  114.         height:                    Fixed;
  115.         trackMovieMatrix:        MatrixRecord;
  116.         moviePort:                CGrafPtr;
  117.         movieGD:                GDHandle;
  118.         trackMatte:                PixMapHandle;
  119.     END;
  120.  
  121.  
  122. FUNCTION MediaInitialize(mh: MediaHandler; VAR gmc: GetMovieCompleteParams): ComponentResult;
  123.     {$IFC NOT GENERATINGCFM}
  124.     INLINE $2F3C, $4, $501, $7000, $A82A;
  125.     {$ENDC}
  126. FUNCTION MediaSetHandlerCapabilities(mh: MediaHandler; flags: LONGINT; flagsMask: LONGINT): ComponentResult;
  127.     {$IFC NOT GENERATINGCFM}
  128.     INLINE $2F3C, $8, $502, $7000, $A82A;
  129.     {$ENDC}
  130. FUNCTION MediaIdle(mh: MediaHandler; atMediaTime: TimeValue; flagsIn: LONGINT; VAR flagsOut: LONGINT; {CONST}VAR movieTime: TimeRecord): ComponentResult;
  131.     {$IFC NOT GENERATINGCFM}
  132.     INLINE $2F3C, $10, $503, $7000, $A82A;
  133.     {$ENDC}
  134. FUNCTION MediaGetMediaInfo(mh: MediaHandler; h: Handle): ComponentResult;
  135.     {$IFC NOT GENERATINGCFM}
  136.     INLINE $2F3C, $4, $504, $7000, $A82A;
  137.     {$ENDC}
  138. FUNCTION MediaPutMediaInfo(mh: MediaHandler; h: Handle): ComponentResult;
  139.     {$IFC NOT GENERATINGCFM}
  140.     INLINE $2F3C, $4, $505, $7000, $A82A;
  141.     {$ENDC}
  142. FUNCTION MediaSetActive(mh: MediaHandler; enableMedia: BOOLEAN): ComponentResult;
  143.     {$IFC NOT GENERATINGCFM}
  144.     INLINE $2F3C, $2, $506, $7000, $A82A;
  145.     {$ENDC}
  146. FUNCTION MediaSetRate(mh: MediaHandler; rate: Fixed): ComponentResult;
  147.     {$IFC NOT GENERATINGCFM}
  148.     INLINE $2F3C, $4, $507, $7000, $A82A;
  149.     {$ENDC}
  150. FUNCTION MediaGGetStatus(mh: MediaHandler; VAR statusErr: ComponentResult): ComponentResult;
  151.     {$IFC NOT GENERATINGCFM}
  152.     INLINE $2F3C, $4, $508, $7000, $A82A;
  153.     {$ENDC}
  154. FUNCTION MediaTrackEdited(mh: MediaHandler): ComponentResult;
  155.     {$IFC NOT GENERATINGCFM}
  156.     INLINE $2F3C, 0, $509, $7000, $A82A;
  157.     {$ENDC}
  158. FUNCTION MediaSetMediaTimeScale(mh: MediaHandler; newTimeScale: TimeScale): ComponentResult;
  159.     {$IFC NOT GENERATINGCFM}
  160.     INLINE $2F3C, $4, $50A, $7000, $A82A;
  161.     {$ENDC}
  162. FUNCTION MediaSetMovieTimeScale(mh: MediaHandler; newTimeScale: TimeScale): ComponentResult;
  163.     {$IFC NOT GENERATINGCFM}
  164.     INLINE $2F3C, $4, $50B, $7000, $A82A;
  165.     {$ENDC}
  166. FUNCTION MediaSetGWorld(mh: MediaHandler; aPort: CGrafPtr; aGD: GDHandle): ComponentResult;
  167.     {$IFC NOT GENERATINGCFM}
  168.     INLINE $2F3C, $8, $50C, $7000, $A82A;
  169.     {$ENDC}
  170. FUNCTION MediaSetDimensions(mh: MediaHandler; width: Fixed; height: Fixed): ComponentResult;
  171.     {$IFC NOT GENERATINGCFM}
  172.     INLINE $2F3C, $8, $50D, $7000, $A82A;
  173.     {$ENDC}
  174. FUNCTION MediaSetClip(mh: MediaHandler; theClip: RgnHandle): ComponentResult;
  175.     {$IFC NOT GENERATINGCFM}
  176.     INLINE $2F3C, $4, $50E, $7000, $A82A;
  177.     {$ENDC}
  178. FUNCTION MediaSetMatrix(mh: MediaHandler; VAR trackMovieMatrix: MatrixRecord): ComponentResult;
  179.     {$IFC NOT GENERATINGCFM}
  180.     INLINE $2F3C, $4, $50F, $7000, $A82A;
  181.     {$ENDC}
  182. FUNCTION MediaGetTrackOpaque(mh: MediaHandler; VAR trackIsOpaque: BOOLEAN): ComponentResult;
  183.     {$IFC NOT GENERATINGCFM}
  184.     INLINE $2F3C, $4, $510, $7000, $A82A;
  185.     {$ENDC}
  186. FUNCTION MediaSetGraphicsMode(mh: MediaHandler; mode: LONGINT; {CONST}VAR opColor: RGBColor): ComponentResult;
  187.     {$IFC NOT GENERATINGCFM}
  188.     INLINE $2F3C, $8, $511, $7000, $A82A;
  189.     {$ENDC}
  190. FUNCTION MediaGetGraphicsMode(mh: MediaHandler; VAR mode: LONGINT; VAR opColor: RGBColor): ComponentResult;
  191.     {$IFC NOT GENERATINGCFM}
  192.     INLINE $2F3C, $8, $512, $7000, $A82A;
  193.     {$ENDC}
  194. FUNCTION MediaGSetVolume(mh: MediaHandler; volume: INTEGER): ComponentResult;
  195.     {$IFC NOT GENERATINGCFM}
  196.     INLINE $2F3C, $2, $513, $7000, $A82A;
  197.     {$ENDC}
  198. FUNCTION MediaSetSoundBalance(mh: MediaHandler; balance: INTEGER): ComponentResult;
  199.     {$IFC NOT GENERATINGCFM}
  200.     INLINE $2F3C, $2, $514, $7000, $A82A;
  201.     {$ENDC}
  202. FUNCTION MediaGetSoundBalance(mh: MediaHandler; VAR balance: INTEGER): ComponentResult;
  203.     {$IFC NOT GENERATINGCFM}
  204.     INLINE $2F3C, $4, $515, $7000, $A82A;
  205.     {$ENDC}
  206. FUNCTION MediaGetNextBoundsChange(mh: MediaHandler; VAR when: TimeValue): ComponentResult;
  207.     {$IFC NOT GENERATINGCFM}
  208.     INLINE $2F3C, $4, $516, $7000, $A82A;
  209.     {$ENDC}
  210. FUNCTION MediaGetSrcRgn(mh: MediaHandler; rgn: RgnHandle; atMediaTime: TimeValue): ComponentResult;
  211.     {$IFC NOT GENERATINGCFM}
  212.     INLINE $2F3C, $8, $517, $7000, $A82A;
  213.     {$ENDC}
  214. FUNCTION MediaPreroll(mh: MediaHandler; time: TimeValue; rate: Fixed): ComponentResult;
  215.     {$IFC NOT GENERATINGCFM}
  216.     INLINE $2F3C, $8, $518, $7000, $A82A;
  217.     {$ENDC}
  218. FUNCTION MediaSampleDescriptionChanged(mh: MediaHandler; index: LONGINT): ComponentResult;
  219.     {$IFC NOT GENERATINGCFM}
  220.     INLINE $2F3C, $4, $519, $7000, $A82A;
  221.     {$ENDC}
  222. FUNCTION MediaHasCharacteristic(mh: MediaHandler; characteristic: OSType; VAR hasIt: BOOLEAN): ComponentResult;
  223.     {$IFC NOT GENERATINGCFM}
  224.     INLINE $2F3C, $8, $51A, $7000, $A82A;
  225.     {$ENDC}
  226. FUNCTION MediaGetOffscreenBufferSize(mh: MediaHandler; VAR bounds: Rect; depth: INTEGER; ctab: CTabHandle): ComponentResult;
  227.     {$IFC NOT GENERATINGCFM}
  228.     INLINE $2F3C, $A, $51B, $7000, $A82A;
  229.     {$ENDC}
  230. FUNCTION MediaSetHints(mh: MediaHandler; hints: LONGINT): ComponentResult;
  231.     {$IFC NOT GENERATINGCFM}
  232.     INLINE $2F3C, $4, $51C, $7000, $A82A;
  233.     {$ENDC}
  234. FUNCTION MediaGetName(mh: MediaHandler; VAR name: Str255; requestedLanguage: LONGINT; VAR actualLanguage: LONGINT): ComponentResult;
  235.     {$IFC NOT GENERATINGCFM}
  236.     INLINE $2F3C, $C, $51D, $7000, $A82A;
  237.     {$ENDC}
  238. FUNCTION MediaForceUpdate(mh: MediaHandler; forceUpdateFlags: LONGINT): ComponentResult;
  239.     {$IFC NOT GENERATINGCFM}
  240.     INLINE $2F3C, $4, $51E, $7000, $A82A;
  241.     {$ENDC}
  242. FUNCTION MediaGetDrawingRgn(mh: MediaHandler; VAR partialRgn: RgnHandle): ComponentResult;
  243.     {$IFC NOT GENERATINGCFM}
  244.     INLINE $2F3C, $4, $521, $7000, $A82A;
  245.     {$ENDC}
  246.  
  247. CONST
  248.     kMediaInitializeSelect        = $501;
  249.     kMediaSetHandlerCapabilitiesSelect = $502;
  250.     kMediaIdleSelect            = $503;
  251.     kMediaGetMediaInfoSelect    = $504;
  252.     kMediaPutMediaInfoSelect    = $505;
  253.     kMediaSetActiveSelect        = $506;
  254.     kMediaSetRateSelect            = $507;
  255.     kMediaGGetStatusSelect        = $508;
  256.     kMediaTrackEditedSelect        = $509;
  257.     kMediaSetMediaTimeScaleSelect = $50A;
  258.     kMediaSetMovieTimeScaleSelect = $50B;
  259.     kMediaSetGWorldSelect        = $50C;
  260.     kMediaSetDimensionsSelect    = $50D;
  261.     kMediaSetClipSelect            = $50E;
  262.     kMediaSetMatrixSelect        = $50F;
  263.     kMediaGetTrackOpaqueSelect    = $510;
  264.     kMediaSetGraphicsModeSelect    = $511;
  265.     kMediaGetGraphicsModeSelect    = $512;
  266.     kMediaGSetVolumeSelect        = $513;
  267.     kMediaSetSoundBalanceSelect    = $514;
  268.     kMediaGetSoundBalanceSelect    = $515;
  269.     kMediaGetNextBoundsChangeSelect = $516;
  270.     kMediaGetSrcRgnSelect        = $517;
  271.     kMediaPrerollSelect            = $518;
  272.     kMediaSampleDescriptionChangedSelect = $519;
  273.     kMediaHasCharacteristicSelect = $51A;
  274.     kMediaGetOffscreenBufferSizeSelect = $51B;
  275.     kMediaSetHintsSelect        = $51C;
  276.     kMediaGetNameSelect            = $51D;
  277.     kMediaForceUpdateSelect        = $51E;
  278.     kMediaGetDrawingRgnSelect    = $521;
  279.  
  280.  
  281. {$ALIGN RESET}
  282. {$POP}
  283.  
  284. {$SETC UsingIncludes := MediaHandlersIncludes}
  285.  
  286. {$ENDC} {__MEDIAHANDLERS__}
  287.  
  288. {$IFC NOT UsingIncludes}
  289.  END.
  290. {$ENDC}
  291.